package cn.itsource.configuration;

import cn.itsource.config.WechatConfig;
import cn.itsource.template.WechatTemplate;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 创建WechatAutoConfiguration 自动配置，把WechatLoginTemplate定义成Bean
 *@ EnableConfigurationProperties({WechatProperties.class})让WechatProperties生效
 */
@Configuration
@EnableConfigurationProperties({WechatConfig.class})
public class WechatLoginAutoConfiguration {

    @Bean //将工具类向spring容器中注册，
    public WechatTemplate wechatTemplate(WechatConfig wechatConfig){ //参数就是工具类中的属性，因为工具类WechatTemplate中有构造方法
        //wechatConfig这个参数是因为前面实体类已经将他给是spring管理了，程序加载时自动取出来
        return new WechatTemplate(wechatConfig); //这就把实体类给传给了工具类，
    }
}
